package com.itheima.queue;

/**
 * @FileName Queue
 * @Description
 * @Author Sword
 * @date 2025-04-02
 **/
public interface Queue<E> {

    /**
     * 向队列尾部插入值
     *
     * @param valvue
     * @return
     */
    boolean offer(E valvue);

    /**
     * 从队列头获取值，并移除
     *
     * @return
     */
    E poll();

    /**
     * 从队列头获取值，不移除
     *
     * @return
     */
    E peek();

    /**
     * 检查队列是否为空
     *
     * @return
     */
    boolean isEmpty();

    /**
     * 检查队列是否已满
     *
     * @return 满返回true，否则返回false
     */
    boolean isFull();
}
